Emergency and Non-Emergency Telecommunications Notification System

ABSTRACT

Methods and systems for providing electronic notifications are described. A server is configured to serve an interface, such as a Web page, to a terminal that requests from a user a first set of user contacts to be used to provide notifications to the user by a telephonic notification system in response to a notification process initiated by an organization associated with the user. The interface further requests a first set of priorities corresponding to the first set of user contacts, wherein the notification system will attempt to provide notifications to the first set user contracts in an order based at least in part on the first set of priorities. A database is configured to store the first set of user contacts and the first set of priorities. A voice interface circuit is configured to transmit a voice notification to at least one of the first set of user contacts.

PRIORITY CLAIM

This application is a continuation of U.S. application Ser. No.13/631,627, filed Sep. 28, 2012, which is a continuation of U.S.application Ser. No. 12/277,246, filed Nov. 24, 2008 and issued as U.S.Pat. No. 8,280,012 on Oct. 2, 2012, which is a divisional of U.S.application Ser. No. 10/877,796, filed Jun. 25, 2004 and issued as U.S.Pat. No. 7,664,233 on Feb. 16, 2010, and which claims the benefit under35 U.S.C. 119(e) of U.S. Provisional Application No. 60/482,362, filedJun. 25, 2003, and U.S. Provisional Application No. 60/503,260, filed onSep. 16, 2003, the contents of which are incorporated herein in theirentirety.

RELATED APPLICATION

This application is related to copending application, entitled EMERGENCYAND NON-EMERGENCY TELECOMMUNICATIONS GEO-NOTIFICATION SYSTEM, Ser. No.10/877,821, filed on Jun. 25, 2004 and issued on Feb. 22, 2011 as U.S.Pat. No. 7,895,263, the entirety of which is hereby incorporated byreference.

COPYRIGHT RIGHTS

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to notification methods and systems,and in particular, to electronic, networked notification systems.

2. Description of the Related Art

Conventional notification systems intended for contacting knownindividuals, such as a company's employees, are often cumbersome tosetup, operate and maintain. For example, many such notification systemshave one or a few operators type in the name and phone numbers of allthose to be included in a notification group, which can result in thetime consuming task of typing hundreds or thousands of entries and canfurther result in many errors.

In addition, while there have been recent advances in communicationtechnologies, such as cell phones, two-way pagers, SMS messaging,instant messaging, and still other communication technologies, manyconventional emergency notification systems are unable to provideemergency notifications to one or more of the foregoing communicationtechnologies. Therefore, emergency notifications, as well as othernotifications, may not be communicated to a recipient as quickly orefficiently as desired.

Further, many conventional notification systems do not track whether anotification was received and/or by which means of communication thenotification was received. This can result in important notificationsnot being actually received by the appropriate individual, or repeatednotifications being sent out unnecessarily.

In addition, many conventional notification systems do not provideadequate or timely reporting of confirmations of notification receipt.Thus, the entity issuing the notification, such as in an emergencysituation, cannot track in real time who has received notification.

SUMMARY OF THE INVENTION

Embodiments of the systems and processes described herein advantageouslyenable members of an organization to access and maintain their ownnotification contact information directly. Members can input, update,and maintain their own contact information and can selectively designatethe privacy level of their contact information. Further, members canprioritize their contact paths and associated priorities for emergencyand/or non-emergency notifications.

In addition, certain embodiments optionally enable a user to have amessage, such as a text message, be communicated with multiple terminaltypes, such as voice-based and text-based terminals, as well asterminals that provide both voice and text interaction. For example, auser can enter a text notification message, which will then be broadcastas a text message to text-based terminals. In addition, the text messagecan be automatically converted to audible speech and broadcast tovoice-type terminals.

Further, certain embodiments enable a notification hierarchy to beestablished, wherein members at different levels of the hierarchy havedifferent levels of permissions or rights. For example, certain levelscan be provided with the right to add members to a notificationorganization and to establish groups or subsets of the notificationorganization, and can further appoint leaders, such as a group leader,with more limited rights. The group leader, for example may have theright to issue notifications to members of the groups and to establishsubgroups including all or a portion of the group members.

In addition, certain embodiments enable notifications to be issued basedon a selected geographic area, using, for example, a GeographicInformation System (GIS).

An example embodiment provides a telephonic notification system,comprising: a Web server configured to serve a Web page that requestsfrom a user: a first set of user contacts to be used to provideemergency notifications to the user by the telephonic notificationsystem in response to a notification process initiated by anorganization associated with the user, wherein the first set of contactsincludes at least a first phone number; a first set of prioritiescorresponding to the first set of user contacts, wherein thenotification system will attempt to provide emergency notifications viathe first set user contracts in an order based at least in part on thefirst set of priorities; a second set of user contacts to be used toprovide non-emergency notifications to the user by the telephonicnotification system; a second set of priorities corresponding to thesecond set of user contacts, wherein the notification system willattempt to provide non-emergency notifications via the second set usercontracts in an order based at least in part on the second set ofpriorities; a database configured to store the first set of usercontacts, the first set of priorities, the second set of user contracts,and the second set priorities; and a voice interface circuit configuredto transmit a voice notifications to at least one of the first set ofuser contacts and the second set of user contacts.

Another example embodiment provides a method of providing notifications,the method comprising: storing in computer readable memory a first setof contact paths for a user, wherein the first set of contact paths isto be used when providing a first type of notification to the user;storing in computer readable memory an order of use associated withcontact paths in the first set of user contacts paths; storing incomputer readable memory a second set of contact paths for the user,wherein the second set of contact paths is to be used when providing asecond type of notification to the user; storing in computer readablememory an order of use associated with contact paths in the second setof contact paths; receiving from an instruction to issue a notificationincluding a notification message to a group including the user, whereinthe instruction indicates whether the notification is the first type ofnotification or the second type of notification; based at least in parton the instruction, identifying which of the first set of contact pathsand the second set of contact paths is to be used in providing thenotification message to the user; accessing the identified set ofcontact paths from the computer readable memory; and at least attemptingto provide the notification message to the user using the identified setof user contacts paths based on the associated order of use.

An example embodiment provides an electronic notification system,comprising: a server configured to serve an interface to a user terminalthat requests from a user: a first set of user contacts to be used toprovide notifications to the user by the electronic notification systemin response to a notification process initiated by an organizationassociated with the user; a first set of priorities corresponding to thefirst set of user contacts, wherein the electronic notification systemwill attempt to provide notifications to the first set user contracts inan order based at least in part on the first set of priorities; adatabase configured to store the first set of user contacts and thefirst set of priorities; and a voice interface circuit configured totransmit a voice notifications to at least one of the first set of usercontacts.

Another example embodiment provides a method of providing notifications,the method comprising: storing in computer readable memory a first setof contact paths for a first user; storing in computer readable memory afirst order of use associated with contact paths in the first set ofuser contacts paths; receiving an instruction to issue a notificationincluding a notification message to a group of users, the groupincluding the first user; accessing the first set of contact paths fromthe computer readable memory; and at least attempting to provide thenotification message to the first user using the first set of contactpaths and the associated first order of use.

An example embodiment provides a method of providing notifications, themethod comprising: storing in computer readable memory a first set ofcontact paths for a first user, wherein the first set of contact pathsincludes a first contact path associated with a voice-based terminal anda second contact path associated with a text-based terminal; receivingfrom a second user a notification message including text, wherein thenotification message is to be broadcast to at least the first user;receiving from the second user an instruction to broadcast thenotification message to at least the first user; accessing the first setof contact paths from the computer readable memory; converting thenotification message text to speech via a text-to-speech module;transmitting the speech to the voice-based terminal using the firstcontact path; and transmitting the notification message text to thetext-based terminal using the second contact path.

Another example embodiment provides a method of providing a notificationmessage, the method comprising: transmitting to a first terminalassociated with an organization administrator a notification groupcreation form; receiving from the organization administrator, via thefirst terminal, a first group name for a first group and recording thefirst group name in a database; transmitting to the first terminal namesof organization members; receiving via the first terminal a selection ofone or more organization members; storing in computer readable memory anassociation of the at least one or more selected members with the firstgroup name; transmitting to the first terminal names of organizationgroups; receiving via the first terminal a selection of at least one ofthe organization groups; receiving an instruction from an authorizedorganization member to issue a notification to the selected at least onegroup; and at least partly in response to the instruction, broadcastingthe notification to the selected at least one group.

An example embodiment provides a notification system, comprising: anotification database; and a telephone network interface; a computersystem coupled to the notification database and the telephone networkinterface, the computer system including program code stored in computerreadable memory configured to: transmit to a first terminal associatedwith an organization administrator a notification group creation form;receive from the organization administrator a first group name for afirst group and to record the group name in the notification database;transmit to the first terminal names of organization members stored inthe notification database; receive via the first terminal a selection ofone or more organization members; store in the notification database anassociation of the at least one or more selected members with the firstgroup name; receive an instruction from an authorized organizationmember to issue a notification to the first group; and at least partlyin response to the instruction, broadcast the notification to the firstgroup via the telephone network interface.

Another example embodiment provides a method of managing electronicnotifications, the method comprising: storing in computer readablememory associated with a notification system a first role designationfor a first user, wherein the first role designation is associated witha first plurality of permissions, including permissions to: add membersto an organization set; halt notification broadcasts before they arecompleted; initiate notifications to members in the organization set;review notification broadcast results for notification broadcasts tomembers of the organization set; define groups, including at least afirst group, the groups including subsets of the organization setmembers; delegate at least a portion of first role permissions toselected organization set members; storing in computer readable memory asecond role designation for a second user, wherein the second roledesignation is associated with a subset of the first plurality ofpermissions, the subset including less than all first plurality ofpermissions, the subset of permissions including at least permissionsto: initiate notifications to members in the first group; reviewnotification broadcast results for notification broadcasts to members ofthe first group; and storing in computer readable memory a third roledesignation for a third user, wherein the third role designation isassociated with at least permissions to provide notification contactpaths for the third user.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments are illustrated in the accompanying drawings,which are for illustrative purposes only. The drawings comprise thefollowing figures, in which like numerals indicate like parts.

FIG. 1 illustrates an example notification system.

FIGS. 2A-M illustrate example user interfaces.

FIG. 3 illustrates an example notification process.

FIG. 4 illustrates a group management process.

FIGS. 5A-D illustrate example group management user interfaces.

FIGS. 6A-B illustrate example authority delegation user interfaces.

FIG. 7 illustrates an example notification process utilizing a reverse911 directory.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Throughout the following description, unless otherwise indicated, thefunctions described herein are preferably performed by software modulesincluding executable code and instructions running on one or moregeneral-purpose computers. The computers can include one or more centralprocessing units (CPUs), that execute program code and process data,memory, including one or more of volatile memory, such as random accessmemory (RAM) for temporarily storing data and data structures duringprogram execution, non-volatile memory, such as a hard disc drive,optical drive, or FLASH drive, for storing programs, data, anddatabases, as well as one or more network interfaces for accessing anintranet and/or Internet. While the description of an example embodimentmay refer to a database, other data stores can be used as well.

In addition, the computers can include a display for displaying userinterfaces, data, photographs, images, and the like. The computers canalso include one or more user input devices, such as a keyboard, mouse,pointing device, microphone and/or the like, used to navigate, providecommands, enter information, and/or the like. However, the presentinvention can also be implemented using special purpose computers, statemachines, and/or hardwired electronic circuits. For example, users canutilize personal digital assistants, Web-enabled phones, wirelessphones, or wired phones to interact with the notification systemdescribed herein. In addition, the example processes described herein donot necessarily have to be performed in the described sequence, and notall states have to be reached or performed.

Further, while the following description may refer to “clicking on” alink, button, checkbox, or pressing a key in order to provide a commandor make a selection, the commands or selections can also be made usingother input techniques, such as using voice input, pen input, mousing orhovering over an input area, selecting menu options, and/or the like.Still further, while data or information may be described as beingpresented in a list, other forms of presentation, such as tables,organization charts, Venn diagrams, or still other presentations can beused.

In addition, while certain processes and functions may be described asbeing performed by a Web-based application operated by an applicationservice provider, other architectures can be used, such as aclient/server based system architecture, an in-house architecture,wherein the system is hosted on the user's premises, a hostedarchitecture, wherein the software is designed to run locally but runson a remote computer system operated by a vendor, and/or a peer-to-peersystem architecture.

In addition, the term “Web site” is used to refer to a user-accessibleserver site that implements the basic World Wide Web standards for thecoding and transmission of hypertextual documents. These standardscurrently include HTML (the Hypertext Markup Language) and HTTP (theHypertext Transfer Protocol). It should be understood that the term“site” is not intended to imply a single geographic location, as a Webor other network site can, for example, include multiple geographicallydistributed computer systems that are appropriately linked together overpublic and/or private networks, such as the Internet, an intranet,peer-to-peer networks, etc. Furthermore, while the following descriptionrelates to an embodiment utilizing the Internet and related protocols,other networks, such as networked interactive televisions, and otherprotocols may be used as well. Further, while the user interface formsor screens described herein can be implemented using HTML, otherformatting languages or programming languages can be used as well.

As will be described in greater detail herein, embodiments of thepresent invention provide notification systems and processes. Incontrast to many conventional notification systems, an exampleembodiment enables members of an organization to access and maintaintheir own notification contact information directly, via a personal webpage or other user interface. The members can input, update, andmaintain their own contact information and can selectively designate theprivacy level of their contact information, to selectively prevent thesubscribing organization or others from viewing the member's contactinformation, such as the member's phone number. As described herein, thesystem further enables members to prioritize their contact paths and tohave different priority contact paths for emergency and non-emergencynotifications.

When children are involved, such as with respect to a school, camp,youth league or the like, or where other dependent and guardianrelationships exist (for example, in retirement homes), embodiments ofthe system further provide the flexibility to accommodate and processnotification with respect to multiple parent/guardian relationships to achild or other dependent, wherein different guardians can definedifferent notification priority contact paths.

Further, embodiments of the present invention provide flexible andextensive administrative controls. In contrast to many conventionalsystems, an example embodiment of the notification system describedherein enables a subscribing organization to exercise extensive controlover the data of their organization via multiple access points, such asvia the World Wide Web, a live operator, an IVR (Interactive VoiceResponse) system, an API (application programming interface), usingconventional, as well as non-conventional, communication devices.Optionally, the system can be accessed by users on a substantiallycontinuous basis via a variety of communication mediums. Advantageously,example embodiments enable an organization to control and manage itsdata and members directly via Web pages or telephone, without requiringmanual intervention by the notification system operator. Further,embodiments of the system provide substantially real-time reporting of anotification broadcast result to the subscribing organization and itsdesignated administrator or leader. The reports can, for example, bepresented automatically and directly to authorized organizationpersonnel via a Web page or the like. The report can specify who hasbeen contacted, who has confirmed receipt of the contact, the date andtime of the contacts and/or confirmation of receipt of the contacts, themedium used to communicate the contact, whom is still to be contacted,and/or who is unreachable.

Further, embodiments of the notification system enable members to beorganized as groups or sets, thereby enabling the efficient issuance ofnotifications and enabling the distribution of administrative duties ata group or set level. Thus, example embodiments of the notificationsystem enable organizations, and appropriate members, to create anddefine hierarchical groups, including groups, sub-groups,sub-sub-groups, and so on. By way of example, with respect to a school,a group can be a class grade, such as the fifth grade class, a sub-groupcan be the fifth grade class having Jane Doe as the teacher, a sub-subgroup can be the male students in Jane Doe's class, and another asub-sub group can be the female students in Jane Doe's class. By way offurther example, with respect to a business, a group can be anaccounting department, a sub-group of accounting can be accountsreceivable, and a sub-sub-group can be collections. By way of stillfurther example, a group can be a division, a sub-group can be adepartment, and a sub-sub-group can be a section. The groups can becreated by the organization and authorized members or administratorswithout requiring manual intervention by the notification systemoperator.

Further, the notification system enables designated administrators tocreate leaders for a given group or sub-group. The leaders are thenautomatically provided with the “administrative capabilities” for his orher specific group or sub-group, or at other designated group level.Advantageously, administrative capabilities or rights of group leadersoptionally can be assigned or revoked via a delegate authority function.The system optionally maintains audit trails and provides reportsregarding when administrative capabilities or rights that were assignedor revoked, to whom the capabilities were assigned to or revoked from,and what level of administrative rights were assigned or revoked.

Additionally, the system can optionally provide broadcasts usingconference call bridging, text-to-speech, and so on.

By way of illustration, in an example embodiment, during an emergency, anotification system can aid in crisis management and public safety byproviding, rapid and accurate communication to an individual, tothousands of people, or other numbers of people. Thus, the system can,within a short duration, concurrently and continuously communicate viastandard and non-standard message delivery devices including, by way ofexample and not limitation, a recipient's home phone, cell or wirelessphone, work phone, pager, email, instant messaging, fax, Blackberry,SMS, instant messaging identifier, electronic chat identifier, wirelesspersonal digital assistant, wireless laptops, and/or other terminals,until the message is received and/or confirmed as received by theintended recipient or recipients. For example, if a notification isbroadcast via a PSTN (public switched telephone network) phone system,the notification system has 2,000 phone lines, and the notificationmessage is 30 seconds long, then in 5 minutes 20,000 voice notificationscan be provided, although other embodiments can have lower or highernotification rates. Further, email, SMS, or cell phone notifications canoptionally be provided even at a much greater rate.

By way of further example, the notification system can also be usedeffectively for non-emergency, routine communications andgeneral-purpose message broadcasting. By way of illustration, thenotification system can centralize and speed notification distributionwithin businesses, schools, camps, alumni programs, the military,municipalities, hospitals, sales teams, and other organizations.

For example, when used by or on behalf of a school application, thesystem can provide a notification if something happens to a given childindividually, or to the school as a whole. By way of illustration, ifthere is an early school closing due to an emergency or to bad weather,and the students need to be picked up, the system can notify in a shortperiod of time, such as a few seconds or minutes, parents orparent-specified secondary or third level contacts if the parent cannotbe reached. Further, the system can optionally provide a parent with anotification if an individual child is truant or absent to ensure thatthe parent is aware of the situation and can take the appropriateaction.

By way of further example, with respect to the military, a commander canmake a phone call or access a web site, and record a message to bedelivered to the appropriate troops, and other or alternate targetrecipients if the system cannot successfully reach the troops directly.For example, the commander or other appropriate individual can issue anotification via the notification system to recall individual specialtyteams, squadrons or divisions, with accurate message delivery logsprovided to the commander or other designated personnel to verify thatthe notification was received.

Additionally, municipalities or other governmental entities can employthe notification system to communicate with on-call crisis personnel,such as volunteer firefighter, police, hazmat personnel, and/oremergency medical personnel. The notification system can further be usedto provide the general population with warnings or evacuationdirections. Further, the notification can selectively provide differentnotifications depending on the geographic location of the individuals,their handicapped status, the building type (wood, steel, concrete) thatthe individual lives or works in, and so on.

The notification system can further be used to manage and providenotifications on behalf of employers or businesses. For example, thesystem can provide terrorist related notifications, such as by alertingemployees of changes to Homeland Security terrorist threat warninglevels. The system can provide power blackout related notifications,such as by alerting employees customers and/or vendors. By way offurther example, the notification system can provide one or more of thefollowing example notifications:

Building evacuation messages: The system can relay notices to specificfloors, buildings or entire campuses after major disasters (earthquakes,fires, domestic terrorism, etc.)

Weather alerts: Send emergency communications related to hurricanes,tornadoes, floods, lightening, wildfires, etc.

Personnel scheduling messages: The system can mobilize additionalworkers to meet demand, reschedule or cancel shifts, shut downfacilities, etc.

Remote roll-calling: The system can verify safety and location ofemployees with active feedback feature (for example, the roll-call caninstruct an employee to “Press 1 on your phone if you are at home; Press2 on your phone if you are at the off-site facility”, etc.).

Executive management communications: The system can disseminate criticalinformation and status reports to senior executives or managers.

Activate response teams notification: The system can ensure rapidnotification of security personnel and business continuity teams.

Routine and urgent notifications: The system can deliver officemessages; contact security personnel, business continuity teams, andsend follow-up emergency communications.

Thus, optionally, the notification system enables a subscribing entityor organization, in an emergency or non-emergency situation, to activatea notification process from a terminal, such as via a toll-free callfrom a touch-tone phone or via a computer terminal accessing a systemnotification Web page. Once activated, the notification process enablesan organization to automatically provide one, thousands, or more peoplewith an emergency notification in minutes. Those notified willoptionally be contacted via their work phone, home phone, cell phone,pager, fax, e-mail, and/or instant messaging, Blackberry or PDA. Whensuccessful contact has been confirmed or has failed to be confirmed, areal time report of message receipt is optionally provided to theorganizational administrator via fax, e-mail or online report.Confirmation of receipt of a notification message can be performed usinga variety of techniques. In addition, for report purposes the system canstore in the system database a notification identifier, who initiatedthe notification, the identity of the recipient user, how thenotification was provided to the user, the date and time of thenotification, and the date and time of the confirmation, wherein theforegoing are stored in association.

By way of example, if the notification is provided by the notificationsystem to a user phone, the user will be instructed to press a selectedphone key or speak a specified word or phrase into the phone, which,when provided, is detected by the notification system and thenotification is marked as received or confirmed by that user in a systemdatabase. The user can also be instructed to send a confirming textmessage, such as an SMS message via a wireless phone or otherwise. Ifthe notification is transmitted to a fax or one-way pager, thenotification can instruct the user to call a specified phone number,such as a toll free number, and enter a code or the like to confirmreceipt of the notification. If the notification is provided via email,the email may contain a link, such as a hyperlink, which when activatedby the user, accesses a URL, and receipt of the notification isconfirmed and the confirmation is stored in the system database. Theemail can also, or instead, instruct the user to confirm by sending aconfirming email and/or calling a specified phone number.

The notification system can be provided via an application serviceprovider (ASP), which hosts and operates the software, computers,telephone lines, data lines, and so on. Advantageously, because the ASPoptionally provides notification services to many customers, the ASPgenerally does not require the maximum number of telephone lines orcomputers that might be needed for the worst case notification scenariofor all customers or subscribing organizations at the same time. Thus,the ASP notification system can handle the worst case notificationscenario for less than all of the customers with less telephone linesthan the sum of all the lines that each of the ASP customers would, onan individual basis, need to handle the customer's individual worst casescenarios. The notification system can thus be accessed via a browser orclient application executing on user computer terminal, via a telephoneor the like.

Example embodiments will now be discussed with reference to the figures.As illustrated in FIG. 1, the example notification system 1 includes aweb application server 104, a database server 106 hosting a RDBMSdatabase and/or other data store, a telephony server 108, and an emailserver 110. The system may further be coupled to a third party messagingservice 130, which can be, by way of example, a wireless serviceprovider, a pager service provider, an email service provider, and soon, which in turn may relay notifications from the notification systemto the targeted terminals.

As illustrated, the application server 104 is coupled to the databaseserver 106, the telephony server 108, the email server 110, andoptionally one or more third party messaging services 130. The webapplication server 104 can include an application server and a Webserver, and can host a Web site accessible to users to managenotification groups, issue notifications, enter contact information,enter contact priorities, view reports, and so on. In addition, the webapplication server 104 can maintain or include a notification queue thatincludes notifications to be sent out in a designated order or withassociated priorities. The server 104 is optionally a secure server withSSL encryption to ensure data security during transmission betweenclient browsers and the server 104.

The database server 106 can include or store organization and memberaccount information, such as account identifiers, user identifiers andpasswords, user contact information, contact path prioritizations,permitted contact methods on an organization or group level,authorization codes, prerecorded notifications, audit trails, records ofnotifications (such as notification identifiers, titles, initiator nameor identifier, starting date and time, stop date and time, theidentities of users which confirmed receiving the notification, theidentities of users who failed to confirm receipt of the notification,the identities of users that were unreachable, the method used toprovide or attempt to provide the notification for each user), reports,group identifiers, group member information, administrator identifiers,administrator authorization levels, other data and information discussedherein, and so on. Information or selected sensitive information, suchas passwords, are optionally stored in an encrypted format.

Optionally, a geographic information system (GIS) server 132 is coupledto a database 134 which can include or store a reverse 911 database. Asis understood by one of ordinary skill in the technical field, a reverse911 database is used to identify and access phone numbers in aparticular or selected geographic area and is often used by governmentaland other entities to contact people in an emergency. For example, phonenumbers can be stored in association with corresponding addresses, zipcodes, and/or other location related information. Using a zip code oraddress as a search key, searching the reverse 911 database will locatethe corresponding phone numbers. The reverse 911 database may be adatabase that includes publicly available and unpublished phone numbers,fax numbers, and/or pager numbers. The reverse 911 database for a givenmunicipality is optionally accessible to those who contract for accesswith the municipality. For example, if a gas leak occurs and a citywants to evacuate a given geographical area, such as an area within acertain radius around the gas leak, the notification system will alsocall each of the user's contact paths, such as home phone number, cellphone number, work phone number, etc., stored in the database server 106database until a “notification received” confirmation is provided to thenotification system. For those in the selected area that are not membersor registered users of the notification system, the notification systemcan access over a network the reverse 911 database 134 or otherelectronic directory listing, such as might be obtained from a phonecompany. The notification system can provide notifications to suchnon-registered persons via the phone numbers obtained from the reverse911 database 134 or other electronic directory.

The notification system enables an organization to build a database ofmembers through add and manage processes, to distribute uniqueauthorization codes to members through which they can registerthemselves, to select or provide registered users with passwords and/oruser identifiers, to specify the notification and notification reportdelivery methods, to create and define groups of members, to sendemergency and/or standard notifications to selected members/groups, toreceive results or confirmations of the notifications, and to tracknotifications and broadcast history. For example, a user can specify thecommunication methods to be used by the system 102 to provide the userwith notifications, as well as the order of use of the communicationmethods.

By way of illustration, the user can specify various phone numbers, faxnumbers, instant messaging identifiers, and/or email addresses withassociated communication priorities for emergency and/or non-emergencynotification. By way of further illustration, a user can provide a workphone number, a mobile phone number, and a home phone number and canspecify that the system 102 should first attempt to provide an emergencynotification to the mobile phone number, if that attempt is notsuccessful, to attempt to provide the emergency notification to the workphone number, and if that attempt is not successful, to attempt toprovide the emergency notification to the home phone number. By way offurther illustration, a user can specify that for non-emergencynotifications, the system 102 should first attempt to provide thenon-emergency notification to the home phone number, if that attempt isnot successful, to attempt to provide the non-emergency notification tothe work phone number, if that attempt is not successful, to attempt toprovide the non-emergency notification to the home phone number, and ifthat attempt is not successful, to attempt to provide the non-emergencynotification to the mobile phone number.

The notification system 102 can be accessed by users/members, includingadministrators and those on broadcast notification lists. For example,users can access the notification system 102 by using a user computerterminal 112 to access the web application server 104. The computerterminal 112 can include a network interface, and can access the webapplication server 104 over the Internet or other network. The webapplication server 104 can generate forms and other user interfaces thatare presented to the user via a browser executing on the computerterminal 112, or otherwise. For example, the browser can generate HTTPrequests which received by the Web application server 104 which in turntransmits the appropriate Web page in the form of HTML or otherwise forpresentation to the user via a terminal display. Users can furtheraccess the notification system 112 and functions provided by thenotification system, via an API, by telephone 114 via the telephonyserver 108, or via a live operator 136.

The example telephony server 108 includes one or more telecommunicationprocessors, one or more digital voice resource/network interfacecircuits, and one or more digital fax resource circuits and caninterface to a telephone network, such as a PSTN system. The telephonyserver 108 can transmit notifications to, and receive notificationconfirmations from a work phone 116, a cell phone 118, a home phone 120,a pager 122, a fax 124, as well as other telephony terminals. Inaddition or alternatively, notifications can be provided to, andconfirmations received from an email terminal 126, such as, by way ofexample, a personal digital assistant 128. One or more of the foregoingterminals, such as the cell phone 118, the pager 122, the email terminal126, and the PDA 128 can be connected to the notification system via thethird party messaging server 130.

Optionally, the telephony server 108 further includes a text-to-speechor speech synthesis software and/or electronic module which can, forexample, translate text notification messages into voice messages to bebroadcast to telephones, mobile phones, and so on. The text-to-speech orspeech synthesis module can instead, or in addition, be provided viaanother server, such as the application server 104. By way of example,the notification text can include alphanumeric and/or other characters.Further, notification reports, providing information on to whomnotifications have been provided, by what means, and whether anotification confirmation was received, can be generated by the webapplication 104 and transmitted to user devices 112, 114, 116, 118, 120,122, 124, 126 and/or 128.

For example, when a notification broadcast is initiated by anadministrator or otherwise, the web application server 104 transfers thebroadcast details to the telephony and email servers 108, 110 as per therecipients contact paths retrieved from the database associated withdatabase server 106. The telephony and email servers 108, 110 will thenaccordingly broadcast the notification and store the results to thedatabase associated with server 106. The web application server 104 willautomatically, or in response to a user request, generate a report whichis provided to the administrator or other designated recipient.

In particular, a notification can be a voice, video, text, fax, and/orimage message that is sent out by the notification system 102 on behalfof a subscribing organization to selected members, groups of theorganization. By way of example, the organization can be a business,school, camp, club, the military, a municipality, a township, ahospital, or other organization. Different types of notifications can beassigned different priorities. For example, there can be notificationsdesignated as standard notifications, and notifications designated asemergency notifications. Notifications designated as emergencynotifications can be broadcast substantially immediately and can takeprecedence over standard notifications (not designated as emergencynotifications) in a notification queue. A standard notification can bescheduled for broadcast at a given date/time, such as at a future dateand/or time that can be minutes, hours, days, weeks, or months in thefuture.

As previously discussed, embodiments of the notification system 102optionally enables organization members, such as employees, parents,other members, to enter their contact data, such as a member's workphone number, assistant's phone number, work fax number, work e-mailaddress, home phone number, cell phone number, pager number, home faxnumber, home e-mail address, instant messaging identifier, Blackberrynumber, and so on, themselves. This data entry system can improvecontact data accuracy, simplify data maintenance, and can reduceorganization's costs and as well as liability by the contact informationtask from their line of responsibility and instead assigning it to theirmember's.

Optionally, a unique authorization code is generated by the system 102or otherwise, for each member. A selected or designated organizationleader or administrator distributes the authorization code tounregistered members, such as by email, hardcopy letters, by phone orotherwise. The members can then use the authorization code to registerthemselves with the notification system 102 and enter and setup theircontact information.

Similarly, each member is optionally provided with a numeric oralphanumeric identifier to be used for logging onto the system. The usercan further specify a password. Optionally, because a user may be amember of several organizations that utilize the notification system,such as via their employer and their child's school, to avoid havingmultiple identifiers, the user can be provided with the option to usethe same identifier for log in purposes for multiple organizations. Oncelogged in, a list of organizations that the user is member of and thatutilize the notification system can be presented to the user, and theuser can select the organization he/she wants to work with, such as byupdating contact information, path priorities, or issuing notifications.

As discussed above, users can be assigned different administrative orleader roles by their organization or an organization member with theappropriate authority. Example roles will now be described, howeverother roles, and other role titles, can be used as well.

An organization leader (referred to herein, for convenience, as an “orgleader”) is the main or a top tier authorized administrator for asubscribing organization. In an example embodiment, an organizationleader is provided access to all of the notification system features orfunctions (such as administrative, notification, and reporting functionsand features) made available to the corresponding subscribingorganization. Optionally, an org leader can delegate all or a selectedportion of the org leader's authority to another member of theorganization. If the org leader has delegated full authority to anothermember, that member is provided access to all the features of the orgleader. Example org leader functions will be described below.

For ease of management in large organizations, member groups may becreated by an org leader. The org leader, or a member with appropriatedelegated authority, may designate one or more members of a group to bethe group leader of a selected group. A group leader can performmaintenance tasks on the leader's group and can optionally be providedthe ability to initiate or send notifications to their group members viathe notification system. Example group leader functions will bediscussed below.

Generally, registered users of an organization have a “member” role. Themember role enables the users to login to the notification system 102and enter and update their profile, contact information, delivery pathspriorities, and so on, but, unless they also have a higher level role,generally cannot administer other users and can be denied the ability tosend notifications. Example member functions will be provided below. Thenotification system 102 may further have technical administrators tomaintain the system software and hardware.

The following table provides example functions and access rightsavailable to corresponding example roles, such as the roles of orgleader, group leader, and member. A user will be able to execute/accessmenu items if the user's current role has access privileges to thecorresponding function. However, different functions, access rightsand/or combinations thereof can be provided as well. Further, fewer ormore roles can be defined and assigned desired access rights.

Access Rights Menu Item Function Org Leader Group Leader MemberNotifications Send Notification Send an emergency or standardnotification ✓ ✓ X Send Conference Call Initiate an emergency orstandard conference ✓ ✓ X Manage Broadcasts Manage Messages Managescheduled messages, or pre-record messages ✓ ✓ X Track Active Viewcurrently active broadcasts, live results and stop ✓ ✓ X Broadcasts anactive broadcast View Broadcast History View/Search sent broadcasts,broadcasts results ✓ ✓ X Members Add Members Add new members to theorganization ✓ X X Manage Members Manage details of a selected memberincluding ✓ X X personal/contact info, registration information, groups,plan enrollment, etc. Also perform operations such as remove/reactivateon multiple members. Distribute Send authorization codes to members via✓ X X Authorization Codes email or by printing out letters. Groups AddGroups Create a group. ✓ X X Manage Groups Add/remove members, leadersto groups. ✓ ✓ X Reports Standard Reports Get predefined reports onparticipating ✓ ✓ X members and broadcasts. Ad-hoc Reports Generatead-hoc reports on members, ✓ ✓ X broadcasts, groups etc. Admin ManageDelivery Add/remove allowed notification delivery ✓ X X Methods methodsfor the organization. Record Greetings Record emergency/standardgreeting ✓ X X messages. Member Profile Manage contact information,personal ✓ ✓ ✓ information, and login information. Delegate AuthorityAllow an Org Leader to provide org leader ✓ X X rights to a member ofthe organization. View Invoices View/Print invoices generated for the ✓X X organization. Select Organization Allow the user to select thecurrent ✓ ✓ ✓ organization if the user is subscribed for multipleorganization Member FAQs ✓ ✓ ✓

With reference to the example table above, org leaders and group leaderscan issue or initiate emergency or standard notifications, while anordinary member cannot. With respect to the access rights, the orgleader has the rights with respect to the entire participatingorganization, while the group leader has access rights with respect tothe group leader's group and sub-groups. An org leader can issuenotifications up to an entire organization, while a group leader canissue notifications to the leader's group and sub-groups. Similarly, orgleaders and group leaders can initiate emergency or standard conferencecalls, while an ordinary member is not given such rights in thisexample. An org leader can initiate conference calls up to an entireorganization, while a group leader can initiate conference calls withmembers of the group leader's group or sub-groups.

With respect to managing broadcasts, org leaders and group leaders canmanage messages, track active broadcasts, and view broadcast histories,while in this example an ordinary member is not given such rights.Further, with respect to adding and managing members, in this example anorg leader can add members to the org leader's organization with respectto the notification system, while group leaders and ordinary members arenot given such rights. Similarly, in this example an org leader canmanage members of the org leader's organization, such as by assigningmembers to groups, removing members from groups, delegating authority toselected members, and/or editing member information, while group leadersand ordinary members are not given such rights. An org leader candistribute authorization codes to allow users to access the notificationsystem as a member of the org leader's organization, while group leadersand ordinary members are not given such rights.

Further, with respect to groups, in this example an org leader cancreate or define new groups, while group leaders and ordinary membersare not given such rights, though a group leader can create sub-groupsthat are lower in the hierarchy to the group leader's group. An orgleader and a group leader can add or remove members and or designategroup leaders, while ordinary members are not given such rights. In thisexample, a group leader can only add or remove members to the groupleader's group and/or sub-groups, and can only designate a group leaderfor the group leader's group and/or sub-groups. In addition, in thisexample, an org leader and a group leader are able to request or receivestandard or custom reports.

In this example, an org leader can add or remove notification deliverymethods for the org leader's organization, while group leaders andordinary members are not given such rights. Additionally, in thisexample, only the org leader can record notifications. In anotherexample, org leaders and group leaders have the ability to recordnotifications. In still another example, org leaders, group leaders, andordinary members can record notifications.

In addition, org leaders, group leaders, and ordinary members can manageand edit their own profile, including contact, personal, and logininformation. With respect to delegation of authority, in this example,an org leader can delegate the org leader's access and managementrights, while a group leader and ordinary member is not given suchrights. Optionally, a group leader can be provided the right to delegatethe group leader's role to a member of the group. The org leader isprovided with access to the org leader's organization's invoices, withgroup leaders and ordinary members are not. An org leader, group leader,and ordinary member can select the current organization they want todeal with if the org leader, group leader, or ordinary member is amember of more than one organization that utilizes the notificationsystem. An org leader, group leader, and ordinary member can also viewhelp files and frequently asked questions (FAQs).

As previously discussed, a user can specify a variety of contact pathsand associated priorities with respect to notification transmissions tothe user. A work phone number, assistant's phone number, work faxnumber, work e-mail address, home phone number, cell phone number, pagernumber, home fax number, home e-mail address, instant messagingidentifier, Blackberry number, and so on, are examples of contact paths.When members register, they are requested to enter information for theirdifferent contact paths along with the priority of the contact path,which are then stored in the database associated with server 106.

By way of example, a user may enter the user's mobile phone withpriority 1 and home phone with priority 2. When a notification isbroadcast, the message will first be sent to the user's mobile phone. Ifthe user does not confirm receipt of message or the mobile phone isunavailable, the message will be sent to the next contact path inpriority, the home phone in this example. The system will attempt tocontact the user via each of the contact paths specified by the useruntil the user is reached. Thus, the system provides a high likelihoodof quickly reaching a recipient with a message notification in minimumamount of time. Optionally, the notification system enables theorganization to select default contact paths and priorities for theorganization's members that may be used for delivery of messages ornotifications to members. For example, the organization, via the orgleader, can specify that notifications or messages are first to betransmitted to members' mobile phones, then to members' home phones, andthen to members' work phones. Members can then optionally be allowed tochange the contact paths and/or priorities.

FIG. 2A illustrates an example user interface for entering contact pathsand assigning corresponding priorities. The user interfaces describedherein can be in the form of a Web page, such as one generated using oneor more of HTML, Java, JavaScript, ActiveX, or using other languages orstandards, that will be displayed in a user browser or other clientprogram. In addition, data and messages received via the user interfacesare stored in one or more databases or other data stores, such as thathosted by database server 106.

With respect to FIG. 2A, users can specify different contact paths andpriorities for standard (non-emergency or non-urgent) notifications andemergency or urgent notifications. The user can directly enter thecontact paths and priorities, without requiring someone else to manuallyenter such information. For example, the user can later directly edit ormodify the contact paths and/or priorities, without requiring manualintervention by another.

For example, the interface includes contact entry fields 202A used toenter contact paths, such as phone numbers (such as home, work, orinternational or travel phone numbers), pager numbers, fax numbers,email addresses, and so on. In addition, for each contact path, the usercan set a priority, such as a numerical or alphabetical priority,separately for emergency notifications 204A and standard notifications206A. The user can also specify if a contact path is not to be used tosend notifications to the user by selecting or entering a “notapplicable”, “N/A”, or similar designation. During a notificationbroadcast, the system optionally will attempt to contact the user in theorder specified by the priority designation. Optionally, once the userconfirms that the notification has been received, the system will notcontinue to broadcast the notification to the user.

To protect the user's privacy the user can select different levels ofprivacy and access with respect to the user's organization. For example,as illustrated in FIG. 2A, the user can specify via privacy options 208Awhether the user's organization is to be allowed to:

a. view and update or edit the user's contact information

b. view, but not update or edit the user's contact information

c. do not allow the organization to view or update the user's contactinfo

This user interface, as well as other user interfaces, optionallyincludes the current user's name, the user's role with respect to thenotification system (for example, “member,” “group leader”, or “orgleader”), and the user's organization name. The user may have beenearlier requested to provide, for storage in the system database, theuser's name, address, email addresses, home, work, and cell or mobilenumbers, create a password, select a password reminder, and select analpha or alphanumeric alias for an automatically generated numericaluser identifier.

Further, as previously discussed, when children are involved, such aswith respect to a school, camp, youth league or the like, or where otherdependent and guardian relationships exist (for example, in retirementhomes), embodiments of the system further provide the flexibility toaccommodate and process notification with respect to multipleparent/guardian relationships to a child or other dependent, whereindifferent guardians can define different notification priority contactpaths. For example, with reference to FIG. 2M, a member can specifytheir role with respect to a child or dependent, such as parent,grandparent, step-father, step-mother, and the like as well providetheir contact information, such as name, address, email address, and soon. The user can also later update or edit the information provided viathis form.

An example notification process will now be described with reference toFIG. 3. As will be discussed, the notification process enables a user toselect or generate a notification distribution list, create notificationmessages, select delivery methods, and schedule deliveries ofnotifications.

At state 302 a send notification process is initiated. For example, auser can select a send notification command via a link, menu selection,or otherwise. At state 304, the user/notification initiator, such as anorg or group leader, selects the type of notification or message. Inthis example, the user can initiate sending a standard or routine(non-emergency) message, an emergency message, initiate a standardconference, or initiate an emergency conference via a notificationinitiation user interface. An example notification initiation interfaceis illustrated in FIG. 2B. The notification initiation interface is, inthis example, visually separated into “send a notification” and“initiate a conference call” functions. Each function has two buttons orlinks, an emergency broadcast button and a standard broadcast button.

If the user selects the send a standard or emergency message button, theprocess proceeds to state 306, where the user can specify thedistribution for the message, such as by selecting one or more groupsand/or individuals to whom the message is to be communicated to. FIG. 2Cillustrates an example user interface via which a user can select groupsand/or individuals to whom the message is to be communicated to. Asillustrated, the user interface includes a group list box 202C, used todisplay groups selected to receive a notification message, and add andremove buttons 206C, 208C used to remove or add groups to the group listbox 202C. In an example embodiment, user activation of the add button204C causes the process to proceed to state 312, where a “select groups”interface is displayed via a pop-up window or otherwise, an example ofwhich is illustrated in FIG. 2D.

The select group interface, such as that illustrated in FIG. 2D,displays group names or identifiers, and enables the user to browse orsearch for group names, that the user can add to the group list box 202Cillustrated in FIG. 2C. Activation of the remove button 208C will removethe currently selected group(s) from the group list box 202C, and hence,those groups will not receive the notification message.

Similarly, an “individual” list box 210C is provided and is used todisplay the names of individuals selected to receive a notificationmessage, and add and remove buttons 214C, 218C used to remove or addindividuals with respect to the individual list box 210C. In an exampleembodiment, user activation of the add button 214C causes the process toproceed to state 310, where a “select individuals” interface isdisplayed via a pop-up window or otherwise, an example of which isillustrated in FIG. 2E.

With respect to FIG. 2D, the example select groups interface has asearch criteria functional area 202A and a search results functionalarea 204D. When the select groups interface is launched or opened, theinterface displays a list of the groups 206D the current user has accessto. The list may be in alphabetical order, in order of the most recentlyused groups, or in some other order, wherein the order is optionallyselectable by the user. In this example, an org leader has access to all“groups” of the leader's organization. A group leader can access thegroup he/she is the group leader of, and in addition, groups orsub-groups created by the group leader. The search criteria areaincludes a group search field 208D, wherein a user can enter in a searchstring including all or a portion of a group name. In addition, the usermay use wildcards in conjunction with a partial group name. The searchprocess will then replace the previously displayed list of groups with ascrollable list of search results. In an example embodiment, the searchresults includes group names in the form of hyperlinks. Clicking on agroup name will add the group to the group list box 202C illustrated inFIG. 2C. Optionally, the search results will be filtered or limited todisplay only those groups with whom the user has the right to sendnotifications to.

FIG. 2E illustrates a similar interface used to select individuals tothe notification message recipient list. When the select individualsinterface is launched or opened, the interface displays a list of namesof members 202E the current user is authorized to send notifications tovia the notification system. The list may be in alphabetical order, inorder of the mostly recently notified members, or in some other order,wherein the order is optionally selectable by the user. In an exampleembodiment, an org leader has access to all members of the org leader'sorganization. A group leader can select individual members of the groupleader's group or sub-group. A search criteria area includes inputfields for a first name 204E and a last name 206E. The user may entervalues in either or both of the fields 204E, 206E to search for a memberor for members. Wildcards may be used to search by entering a searchstring including a partial name. The search process will then replacethe previously displayed list of members, with a scrollable list ofsearch results. In an example embodiment, the search results willinclude member names in the form of links. Clicking on a member namewill add the member to the list box 210C illustrated in FIG. 2C.Optionally, the search results will be filtered or limited to displayonly those members with whom the user is authorized to sendnotifications to via the notification system.

Referring back to FIG. 3, if, at state 304, the user elected to initiatea standard or emergency conference call, the process proceeds to state308, wherein the user selects individuals who will be asked toparticipate in the conference call. As similarly described above withrespect to FIG. 2C, an “individual” list box 202F, used to display thenames of individuals selected to receive a conference call notificationmessage, and add and remove buttons 204F, 206F used to remove or addindividuals with respect to the individual list box 202F. In an exampleembodiment, user activation of the add button 204F causes the process toproceed to state 310, where a “select individuals” interface isdisplayed via a pop-up window or otherwise, an example of which isillustrated in the previously discussed FIG. 2E. In another embodiment,a user can also select on a group level which groups are to be requestedto join the conference call.

Once the recipient groups and/or individuals have been selected, theprocess proceeds to state 314, where a text and/or notification messageis entered or recorded and/or a previously recorded message is selectedfor use in the notification. Optionally, if a user enters a message as atext message using a keyboard or the like, a text-to-speech moduletranslates the text into a voice message, to allow the message to bebroadcast as both a voice message to telephones and the like, as well asa text message via email, SMS messaging, facsimiles, instant messagingapplications, electronic chat applications, and so on. Thus, optionally,the user issuing the notification does not have to enter the samemessage several times using several different interfaces in order tobroadcast a notification message to both voice-type terminals, such asphones, and text-type terminals, such as SMS or email terminals.Therefore, optionally, a single notification insert can be transmittedto a variety of different terminal types.

With reference to the message creation interface illustrated in FIG. 2G,a Java applet or other code is optionally embedded in a message creationWeb page to provide functionality for recording a message through amicrophone included in or attached to the user's computer or otherappropriate terminal being used to access the notification system.Optionally, a video message can be recorded as well, such as by using aWeb cam or other camera coupled to the user's computer or otherappropriate terminal.

In the illustrated example embodiment, the applet provides controlbuttons 202G for Record, Stop Recording, Play and Stop Playback. A titlefield 204G is provided wherein the user can enter a title for thenotification. An input field 206G receives a user entered text message.Optionally, the length of the text message is limited to a certainnumber of characters, such as, by way of example, 2500 characters. Asthe message is typed in, the number of characters remaining isoptionally displayed in field 208G. The user can optionally include orupload a file to be sent as an attachment with the message for emaildeliveries by entering in the file name into file attachment field 210Gor otherwise selecting the file for attachment.

The recording controls are optionally not enabled and/or not displayed,unless the user has selected the record a message option 216G. Clickingthe record button will start the recording which will continue until thestop button is pressed or for a maximum predetermined period of time.The user may use the play button to playback and review the recording,or activate the record button again to record over the currentrecording.

If the user selects the “select previously recorded message” option212G, a list box 214G or other interface displays the titles ofpreviously recorded messages available to the user. User selection of atitle retrieves the selected message from the system database andoptionally causes the display of message information, including themessage title and message text, if any. The user can activate a playbutton to playback a previously recorded voice and/or video message. Thepreviously recorded message title and message text are optionallyeditable by the user.

Optionally, a message search page can be accessed via a link or menuwhich enables a user to search for a previously recorded and/orbroadcast notification message. An example search messages page isillustrated in FIG. 2H. When a user first accesses the search messagespage, a search results area 202H optionally lists all messages availableto the user in accordance with the user's access rights. For example,for a group leader the listed messages will be those previously recordedand/or broadcast initiated by the group leader and/or by a group leaderdelegate. For an org leader, optionally the prerecorded and/or broadcastmessages for the organization will be listed.

As illustrated, the search messages page includes search fields formessage title, initiator's first name, initiator's last name, and startdate. The user can enter search strings into one or more of the fields.Upon activation of a search button, the system searches for and locatescorresponding results located in the system database, which are thendisplayed in a query results area. The search results include, in columnformat: Message Title, Initiated By, Start Date and Has Voice, thoughother columns and column titles can be used as well. The “Has voice”column includes an indication, such as a “V”, for messages which includean associated voice recording. Similarly, a “have Video” column can beprovided (not shown) that indicates whether a message has an associatedvideo message. In response to a user clicking on or otherwise selectinga message title or identifier, the system will cause the create messageinterface to be displayed on the user terminal, such as the messagecreation interface illustrated in FIG. 2G, and will load the selectedmessage.

Referring to FIG. 3, once the message is recorded or selected, theprocess proceeds to state 318, for non-emergency notifications, wherethe user selects the message delivery method and/or schedule via aselect method/schedule user interface for non-emergencies, such as thatillustrated in FIG. 2J, or to state 324, for emergency notifications,where the user selects the message delivery method via a select deliverymethod such as that illustrated in FIG. 2I.

The interface illustrated in FIG. 2I includes a select message deliverymethod area 202I and a select result delivery method 204I for emergencynotification or conference call. With respect to select message deliverymethod area 202I, a variety of delivery methods, previously defined asavailable or appropriate by or for the corresponding organization, arepresented with associated selection checkboxes. In this example, theuser can select one or more of home telephone, cell phone, work email,home email, fax, home fax, numeric pager, work telephone, text pager,and company operator. Another organization may only authorize use of oneor more of home telephone, cell phone, and work telephone, by way ofexample. The user can select or deselect the delivery methods or targetsthat a message would be delivered to. A “Confirm” check box 206I isprovided. If checked or otherwise selected by the user, a receiptconfirmation will be sought or requested from the message recipients.Optionally, by default, the confirm check box is selected.

The user may also select the number of contact cycles that will beperformed by the notification system via a contact cycles field 208I. Inparticular, the user can specify how many times the system will cyclethrough the contact paths in trying to contact members before halting.Optionally, a maximum number of contact cycles can be specified by theorganization, such as 5 or 10 cycles.

The user can specify, via the result delivery method area 204I, thedelivery method to be used by the system to deliver results of thenotification broadcast. For example, the user can specify, by selectinga corresponding checkbox or otherwise, that broadcast results are to bedelivered to a fax number and/or an email address. Fields are providedin which the user can an email address and fax number to which theresults are to be transmitted to.

Referring still to FIG. 2I, a Send Message button 208I is provided,which, when activated by the user, such as at state 326 in FIG. 3, willcause the emergency notification message to be broadcast substantiallyimmediately thereafter. A user interface is displayed informing theinitiating user that the message is being sent or broadcast. Optionally,after a selected amount of time or after the message has been broadcast,substantially real-time broadcast results are presented via a userinterface, such as that discussed below with respect to FIG. 2K. A backbutton 210I is provided, which, when activated, causes the messagecreation interface illustrated in FIG. 2G to be presented, enabling theuser to edit or otherwise change the message.

FIG. 2J illustrates an example select method/schedule user interface fornon-emergency or standard, routine messages for which there is noimmediate urgency. The interface illustrated in FIG. 2J is similar tothe interface discussed above with respect to FIG. 2I, and furtherincludes a scheduling area used to schedule when a notification messageis to be transmitted, how often the notification message is to berepeated, a repeat period (for example, and without limitation, everyday, every second day, every third day, once a week, every other week,every fourth week, once a month, every two months, every five months,every year, etc.), and at what date and/or time, if any, the messagenotifications are to cease.

In particular, the interface illustrated in FIG. 2J includes a schedulemessage delivery area 201J, select message delivery method area 202J,and a select result delivery method 204J. With respect to select messagedelivery method area 202J, a variety of delivery methods, previouslydefined by the org leader or otherwise, as available or appropriate forthe corresponding organization, are presented with associated selectioncheckboxes or via links. In this example, the user can select one ormore of home telephone, cell phone, email, email, fax, home fax, numericpager, work phone, text pager, and company operator, though othermethods can be authorized as well. The user can select or deselect thedelivery methods or targets that the message would be delivered to as aresult of the message broadcast. A “Confirm” check box 206J is provided.If checked or otherwise selected by the user, a receipt confirmationwill be sought or requested from the message recipients. Optionally, bydefault, the confirm check box 206J is selected.

With respect to scheduling message delivery, in this example embodiment,schedule message delivery area 201J enables users to select a schedulenow option 208J and a schedule later option 210J. A determination ismade at state 320 of FIG. 3 as to which option is selected. One of theoptions 208J, 210J can be selected by default. In this example, theschedule now option 208J is selected, and the process proceeds to state326 once the user activates a start broadcast button or command. If theuser selects the schedule later option 210J, the interface displaysinput fields for date and time as part of the schedule later option. Theuser then may enter a date and select the time via list boxes for month,date, year, hours, minutes and AM/PM, by typing in the date and time, orotherwise. The process then proceeds to state 322 of FIG. 3, andconfirmation is provided to the user that the notification is scheduled,and the process then proceeds back to state 304.

Additionally the user may choose to setup the broadcast as a repeatingbroadcast via the repeat schedule function 212J. A repeating broadcastis made or transmitted at specified intervals until a specified endingdate. In this example, the user can select an interval type (days,weeks, months, years) and the interval duration for the repetition. Anending date field is also provided to select the ending date for therepeat broadcast. Optionally, a pop-up calendar is displayed via whichthe user can select the ending date. Once the user has provided theappropriate information and activates a send message button, thescheduled broadcast is added to a list of pending schedulednotifications broadcasts, and a message confirming that the notificationbroadcast is scheduled will be displayed to the user. Optionally, theuser is redirected to the notification initiation interface, discussedabove with respect to FIG. 2B. Once a broadcast occurs, substantiallyreal-time broadcast results are optionally presented via a userinterface, such as that discussed below with respect to FIG. 2K.

Broadcast results are provided or displayed to the user at state 328 ofFIG. 3. A broadcast results user interface used to provide reports ofthe results of a broadcast notification will now be discussed withreference to FIG. 2K. Optionally, the broadcast results user interfaceautomatically refreshes upon a change in the results, periodically,and/or in response to a user initiated refresh command, to therebyprovide substantially real time or live results as the message broadcastprocess is taking place. In the illustrated example, the user interfaceincludes:

-   -   a broadcast notification identifier area 201, that includes a        manually or system generated broadcast identifier, as well as an        indication as to whether broadcast is an emergency or        non-emergency broadcast;    -   a message title area 202K, that displays the message title as        entered by the user at state 314A;    -   a message text area 204K, that displays the message text entered        by the user at state 314;    -   a details area 206K, that displays one or more of:        -   Initiated by—Name or identifier associated with the            broadcast initiator        -   Start Date—Date and time when the broadcast began        -   Finish Date—Date and time when the broadcast finished (if            the broadcast has completed)        -   Elapsed Time—Number of seconds or other time unit since the            broadcast started        -   Response Rate—Percentage of message recipients who have            responded or confirmed message receipt        -   Terminated By—If the broadcast is stopped before normal            completion, the name or identifier associated with the user            who manually terminated the broadcast        -   Termination date—If the broadcast is stopped before normal            completion, the date and/or time of the premature            termination        -   Confirmation Requested—an indication, such as Y or N, as to            whether confirmation of message is sought from recipients        -   Attachment—Filename of the attachment to the broadcast if            any

A delivery results area 208K, that displays one or more of:

-   -   Confirmed—the number of users who have confirmed receipt of the        notification message. Optionally, this number is also a link        (such as a hyperlink), wherein activation of the link, such as        by clicking on the link, causes a list of the users who have        confirmed receipt of the message to be presented in a pop-up        window or otherwise.    -   Not Confirmed—the number of users to whom the notification        message was delivered but who have not confirmed receipt of the        message. Optionally, this number is also a link, wherein        activation of the link, such as be clicking on the link, causes        a list of the users to whom the notification message was        delivered but who have not confirmed receipt of the message to        be presented in a pop-up window or otherwise.    -   Unreachable—the number of users who could not be reached on any        of the contact paths provided by the users. Optionally, this        number is also a link, wherein activation of the link, such as        be clicking on the link, causes a list of the users who were        unreachable to be presented.

A delivery methods area 210K displays the contact paths selected fordelivery with respect to the notification broadcast being reported on.

A user can halt an in-progress notification broadcast at state 330 ofFIG. 3. For example, activation of a stop broadcast button 212K causesthe broadcast being reported on to be halted substantially immediately,even though the notification broadcast has not completed. The processthen proceeds to state 328 of FIG. 3, and the final broadcast resultsare reported.

If the broadcast notification includes a voice message, activation of areview voice button opens a popup window with, or otherwise displaysplayback controls (for example, play, rewind, and fast forward controls)for an embedded media player to enable the user to playback and listento the voice message. Similarly, if the broadcast notification includesa video message, a “review video” button can optionally be provided (notshown), activation of which causes the display of controls and a videowindow that enables the user to review the video message. A print buttonis optionally provided, activation of which causes the broadcast resultsto be printed to a file, such as a PDF file, and/or to a printer.

A user can also track active broadcasts via a track active broadcastsuser interface, an example of which is illustrated in FIG. 2L, whichprovides the active broadcast IDs, titles, initiator name, startingdate, and stop option. By click on the ID or other appropriate link, theuser is optionally presented with report details for the correspondingbroadcast.

Optionally, if the notification broadcast has been automaticallycompleted or manually halted, a re-broadcast button is displayed orenabled, wherein activation of the re-broadcast button by the usercauses the process illustrated in FIG. 3 to proceed back to state 326,or optionally, the notification system then automatically resends thebroadcast to those recipients who did not confirm receipt or who wereunreachable.

Optionally, a user can select a track active broadcast link or menu itemwhich will cause a navigable list of messages with their respectiveidentifiers (IDs), titles, initiator name or identifier, starting dateand time, and/or stop date and time (if applicable).

As previously discussed, embodiments of the notification system enablemembers to be organized as groups, thereby enabling the efficientissuance of notifications and enabling the distribution ofadministrative duties on a group level. Groups can be composed ofindividual members and/or other groups, thereby allowing users to createa hierarchical structure, similar to an organization chart or a tree.Further, members can belong to more than one group. For example, anorganization can define a group of managers and another group for amarketing department. The manager of the marketing department can belongto both of the manager group and the marketing department group.

Groups can be created in a top down process, wherein the higher levelgroups are defined first, or in a bottoms up process, wherein the lowestor lower level groups are defined first, or some combination of the twoprocesses. For example, to create a hierarchical group structure, groupsof members can be defined at the lowest level in a given organization.By way of illustration, if the lowest organizational level in anorganization is a department, then a notification group can correspondto an organization department. Then, a next higher level group, such asa division level group, can be defined that includes several lower levelgroups, such as several department groups, as well as other individualmembers, and so on, up the organizational structure. Groups can also bedefined for emergency purposes. For example, a city can define groupsbased on geographical location, and sub-groups based on building types(such as high rise, residential, wood, reinforced steel, etc.) within agiven geographical group, so that appropriate different notificationwarning or instruction messages can be broadcast to recipients based ontheir location and on their building type. Similarly, a city or otherentity can define a firefighter group and sub-groups, a police group andsub-groups, a hazmat group and sub-groups, and/or emergency medicalgroup and sub-groups.

In addition, an authorized user can add, remove, rename, and deletegroups via appropriate user interfaces, as discussed herein. Further, anauthorized user can optionally add/create or remove/delete groupleaders, and add or remove members in general, and/or members fromselected groups.

FIG. 4 illustrates an example group management process. At state 402, inresponse to activating a manage groups command, an authorized user, suchas an organization leader, is presented with a list of existing groups.Optionally, at state 416, the user can search for a group using one ormore of the following example search parameters: group name or a portionthereof, date of creation, group creator, a name of a member of thegroup being searched for. The search results will include the names ofthe matching groups, wherein the names can be hyperlinks to groupinformation. In response to the user selecting a group in the group listor in the search results, the user is presented with details regardingthe selected group, such as the date of creation, the names of the groupmembers, and the names of one or more group leaders. At state 408, theuser can optionally add members to the group by activating an add groupmember command, in response to which a list of organization members ispresented. The user can select one or more of those members, which willthen be added to the group. Similarly, a user can remove a group memberby selecting a name in the group member list and activating a removegroup member command.

At state 410 the user can optionally designate one or more group leadersby activating an add group leader command, in response to which a listof group members is presented. The user can select one or more of thosegroup members, which will then be designated as group leaders.Similarly, a user can remove a group leader by selecting a name in thegroup leader list and activating a remove group leader command. At state412 the user can optionally activate a remove group command to deletethe selected group. At state 414, the user can optionally rename theselected group by editing the current group name and/or by entering anew name into a group naming field. In response to the user activating asave command, changes performed in the foregoing states are saved in thesystem database and the process proceeds back to state 406, whereinfurther group modifications can be made or from which the user canselect another destination, such as state 404 or other menu.

Example group management user interface pages will now be discussed.FIG. 5A illustrates an example manage groups interface page, accessedvia a menu, link, button, or otherwise. The example manage groupsinterface includes a navigable list of existing groups. In this example,the group list includes columns and data corresponding to the groupnames, group creator names, and group creation date. The user can selectthe group which has to be modified or managed by clicking on the groupname or otherwise.

The user can then proceed to an add/remove members and/or team leadersuser interface, an example of which is illustrated in FIG. 5B. The nameof the group whose members or leaders are being managed is displayed.Two areas or list boxes 502B, 508B are presented which respectivelydisplay listed members and group leaders. Each area 502B, 508B has anassociated add button 504B, 510B, and remove button 506B, 512B. Inaddition, save, rename, delete group, print, and back buttons areprovided. Activation of the save button will cause the system to savethe current state of the group, including the changes in members andleaders, to the system database. Activation of the rename button enablesthe user to rename the group via an edit form (not shown). The user canalso delete the group being managed by activating the delete groupbutton. Activation of the print button save and display the group memberand leader information in PDF format that can be printed to the localprinter or saved to the local storage by the user. Activation of theback button will return the user to manage groups interface page, suchas that illustrated in FIG. 5A.

The user can remove a member of a group by clicking on or otherwiseselecting a member name in area 502B, and then activating the removebutton 506B, which will result in the system removing the member fromthe group and recording the change in the system database. The user canadd a member to the group by clicking on or selecting the member addbutton 504B.

Clicking on the add button 504B causes the system to open a window orotherwise present a navigable list of members, an example of which isillustrated in FIG. 5C. By entering character strings in appropriatesearch fields, such as a first name, last name, and/or group name searchfield, and activating a search command, the user can search for a memberbased on first name, last name, and/or group name, and the systemreturns a list of matching member names, which can act as links. If thesearch fields are left blank, the search will return the entire list ofmembers (though they may not all be viewable at the same time and theuser may need to scroll through the list or select which of the searchresults the user wants to view) which the user is authorized to view. Inresponse to the user clicking on a member name or otherwise selecting amember name from the member list, the system will add the selectedmember to the designated group selected using the interface illustratedin FIG. 5B.

In response to activation of the leaders add button 510B, thenotification system opens a new window or otherwise displays a navigablelist of members who can be leaders, such as group leaders. The window orother display can be the same as or similar to the illustrated in FIG.5B. After selecting a leader from the list and clicking on close windowlink, the user is taken back to the manage groups page illustrated inFIG. 5B, with the selected leader added to the leaders list in theleaders area 508B. Selecting a leader from the leaders area 508B andclicking on the remove button 512B will cause the system to remove theselected leader from the area 508B and the system will record in thesystem database that the member is no longer a leader of the group uponactivation of the save button, or simply in response to activation ofthe remove button 512B.

In response to selecting an “add groups” link or menu selection, theuser is presented with an add groups interface, an example of which isillustrated in FIG. 5D which enables a user to create a group and toassign a name to the group. The user names the group by entering thename in a group name field. Activation of the “save” button or link willcause the system to store the group name and a new group will becreated. Groups can be created as a collection of individual memberswith designated roles, groups can be created based on departments, orotherwise created. After activation of the save button or link, the userwill be presented with the add/remove members and/or team leaders userinterface, previously discussed with respect to FIG. 5B

Authority or role delegation will now be discussed with reference to thefigures. As similarly discussed above, an org leader is optionallyentitled to assign or delegate the role or authority of organizationleader to one or more members of the organization. In an exampleembodiment, the organization leader can manage all notification groupswithin the organization, can add members to the organization'snotification member list, and can send notifications to all groupswithin the organization. He/she may also add members as well as delegateauthority to other members. An example authority delegation processincludes the acts of:

Select Member (Delegate)

Select and/or search for Delegates

Add to Delegates List

In response to the user selecting a delegate authority link or menuitem, the notification system user will be taken to the delegateauthority user interface page, which displays a list of existing/currentdelegates and controls for adding and removing delegates. FIG. 6Aillustrates an example delegate authority user interface. A list area602A is provided to list the current delegates. An add button 604A isprovided to add delegates. A remove button 606A is provided to removedelegates. In response to the user click on the add button 604A, anavigable list of members is displayed, an example of which isillustrated in FIG. 6B. In response to the user click on a member name,the selected member will be added to the delegate list. The user canalso search for members to add to the delegate list by name or a portionthereof via a delegate search field or page. To remove a delegate, theuser can select a delegate name in list area 602A and activate theremove button 606A, and the selected delegate will be removed as adelegate and from the delegate list.

As previously discussed, in one embodiment, the notification systemincludes or can access a “reverse 911 database” which can be used toidentify and access phone numbers in a selected geographic area via ageographic information system (“GIS”). The geographic information systemcan include a server, such as server 132 illustrated in FIG. 1, thathosts a GIS-based application and mapping software, such asArcIMS/ArcSDE mapping software. By way of example, the GIS-basedapplication can be accessed by a user through a web browser or otherinterface. The GIS-based application can display maps, including mapsshowing streets, highways, freeways, bridges, facilities, homes,geographic features, such as mountains or rivers, zip code boundaries,and/or governmental entity boundaries (such as county, city, or townboundaries). The GIS-based application can further provide online mapfunctionality such as zooming and panning with respect to the electronicmaps displayed on the user terminal; the ability to add, store, displaymultiple data layers; the ability to control the scale factor of alayer, the ability to turn off a layer when zooming out and turning on alayer when zooming in; the ability to choose colors and symbols for eachmap layer (i.e., blue for water, red for roads, etc.).

By way of example, via the GIS-based application, the user cangeographically select an area or calling zone for which a notificationis needed, such as in the event of an emergency (for example, a fire,police activity, or the like), then access a reverse 911 database andprocess contact information for the selected target recipients toquickly provide notifications regarding the evacuation of the public andthe notification of response personnel, such as police, fireman, andambulances, during the emergency.

The desired calling zone area can be selected via highlighting or“lassoing” a desired area on a map displayed on the user terminal, byselecting a point or line segment and defining a buffer around the pointor line segment (such a specifying a 50 mile radius around a selectedpoint or specifying a range of city blocks around the selected point) orvia other selection techniques (such as entering a zip code in a zipcode field, a city name in a city field, providing an address and aradius distance relative to the address, etc.)

The notification system attempts to contact each targeted person viapublicly available numbers (for example, numbers in an electronic whiteand/or yellow pages, and or numbers available to entities that have beenauthorized to access the reverse 911 database numbers by themunicipality in which the calling zone lies) including telephone, pageror fax using numbers stored in the reverse 911 database. Some reverse911 databases may include unpublished numbers, and some reverse 911databases will not include unpublished or private numbers. Thenotifications can then be broadcast. As similarly discussed above, thenotification can request confirmation of receipt, which can then betracked by the notification system and reported to the notificationinitiator or other designated user. Optionally, people within a coveredarea can enter their location along with all phone numbers used to reachthem in an emergency which can be recorded in the reverse 911 database.

In addition, in one embodiment, if a targeted person is a notificationsystem member/user or has otherwise recorded their contact paths andoptionally the associated priorities in the notification systemdatabase, the user/member can be notified of an incident in a specificaffected area via the recorded contact paths, as described above, evenif the user is outside the affected area during incident.

Once a call zone has been established and a notification process hasbeen initiated, the notification system will compare the numbersreturned by the reverse 911 database against the notification systemmember database. If a match for a number is found, the GIS-basedapplication identifies the associated member as a targeted recipient,and thus contacts that member via the targeted recipient's contact pathsas recorded by the notification system.

For example a city or municipality can subscribe to the notificationsystem, and can act as an organization as described above. Themunicipality can utilize the notification system to notify residents andbusinesses residing or located in a designated area of a chemical spillor other geographically limited emergency. Optionally, some or all ofthe municipality residents and businesses can be registered members ofthe notification system and can define their contact paths andpriorities as described above. For example, the residents and businessescan provide contact paths to or for their home phone, cell or wirelessphone, work phone, pager, email, instant messaging service, fax,Blackberry, SMS address, instant messaging identifier, electronic chatidentifier, wireless personal digital assistant, wireless laptops,and/or other terminals, where they would like to be reached in the eventof the city or municipality initiating an area or calling zone-basednotification.

In particular, with reference to FIG. 7, at state 702 a notificationrequest or instruction is received for a selected area or calling zone.The selected area or calling zone may have been selected using one ormore of the techniques described above, such as by providing a zip codeor by graphically selecting a point and defining a buffer area. At state704, the notification system accesses a reverse 911 database, which maybe maintained and operated by a phone company or other entity, toidentify phone numbers, fax numbers, and/or pager numbers located in theselected area or call zone. At state 706, the notification systemcompares the numbers returned by the reverse 911 database against thosestored in the notification system member database, such as thatassociated with database server 106 illustrated in FIG. 1. If a matchfor a number is found, the GIS-based application identifies theassociated member as a targeted recipient, and at state 710, thenotification system will contact that member via the member's contactpaths as recorded by the notification system and optionally inaccordance with the associated contact order or priority. If a match fora given number is not found, then at state 712 the notification isprovided using the number or numbers in the reverse 911 database.

Thus, embodiments of the systems and processes described hereinadvantageously enable members of an organization to access and maintaintheir own notification contact information directly. Members can input,update, and maintain their own contact information and can selectivelydesignate the privacy level of their contact information. Further,members can prioritize their contact paths and associated priorities foremergency and/or non-emergency notifications. Optionally, certainembodiments allow a notification hierarchy to be established, whereinmembers at different levels of the hierarchy have different levels ofpermissions or rights to enable the efficient management ofnotifications by an organization. Further, certain embodiment optionallyenable a single notification insert, such as a text message insertion,to be transmitted to a variety of different terminal types, such asvoice and text terminals.

Although this invention has been described in terms of certain preferredembodiments, other embodiments that are apparent to those of ordinaryskill in the art are also within the scope of this invention.

1-20. (canceled)
 21. A computer-implemented method of initiatingconference calls via one or more electronic communication channels, themethod comprising: receiving an instruction to initiate a conferencecall to be attended by a plurality of participants; identifying aconference call type of the received conference call instruction fromamong at least two different conference call types; and based on aresult of the conference call type determination, inviting the pluralityof recipients via one or more contact paths in a set of contact pathsassociated with the determined conference call type.
 22. The method asdefined in claim 21, wherein the type of conference call is either anemergency conference or a non-emergency conference.
 23. Acomputer-implemented method of initiating meetings via one or moreelectronic communication channels, the method comprising: receiving aninstruction to initiate a meeting to be attended by a plurality ofparticipants; identifying a meeting type of the received meetinginstruction from among at least two different meeting types; and basedon a result of the meeting type determination, inviting the plurality ofrecipients via one or more contact paths in a set of contact pathsassociated with the determined meeting type.
 24. The method as definedin claim 23, wherein a type of meeting is either an emergency meeting ora non-emergency meeting.
 25. The method as defined in claim 23, whereinthe meeting comprises a conference call.